User loginNavigation |
Total Functional Programming
Here's an interesting paper recently mention in another thread: Total Functional Programming...
Abstract: The driving idea of functional programming is to make programming more closely related to mathematics. A program in a functional language such as Haskell or Miranda consists of equations which are both computation rules and a basis for simple algebraic reasoning about the functions and data structures they define. The existing model of functional programming, although elegant and powerful, is compromised to a greater extent than is commonly recognized by the presence of partial functions. We consider a simple discipline of total functional programming designed to exclude the possibility of non-termination. Among other things this requires a type distinction between data, which is finite, and codata, which is potentially infinite.I presume that the bogus definiton of " fib" is a subtle reminder of the importance of eliminating bottom. Ott--a tool for writing definitions of programming languages and calculi.Ott—a tool for writing definitions of programming languages and calculi.
Peter Sewell and his team continue to bridge the gap between the informal and formal worlds of programming language semantics. By Paul Snively at 2007-01-23 07:06 | DSL | Meta-Programming | Semantics | Type Theory | login or register to post comments | other blogs | 12701 reads
Software Composability and the Future of LanguagesAnders Hejlsberg, Herb Sutter, Erik Meijer, Brian Beckman: Software Composability and the Future of Languages This is an about an hour long video on channel9 about various .NET languages. http://channel9.msdn.com/Showpost.aspx?postid=273697 LCA2007: Concurrency and ErlangExtremely attractive overview and slides about a one-hour Erlang talk by André Pang at linux.conf.au 2007.
Another reason I wish I'd talked myself into attending this conference! F3: New statically typed scripting language for java
Chris Oliver has been working on F3 ("form follows function"), a new scripting language for the java platform. Here is a detailed description of F3's features.
It is already in heavy development but not yet released, and there are plugins for both Netbeans and Eclipse. Some of its functionality and the examples Chris has shared indicate it could be an alternative to Flash and processing. Summary of some of its features:
Scheme: Second R6RS draft publishedThe second draft of R6RS, version 5.92, is now available at www.r6rs.org. (For more general information about Scheme standards, see the Standards page at schemers.org.) This version of R6RS incorporates the responses to the formal comments that were submitted prior to Nov 15th, 2006. A few of the changes are highlighted below (not intended to be comprehensive):
The current six-month public comment period is still ongoing, and will continue until March 15, 2007. The schedule subsequent to that date can be found here. The editors encourage comments on the report, either informally on the discuss@r6rs.org mailing list, or via the formal comment process. Of course, kibitzing here on LtU is welcome too! (Previous discussions on LtU include the announcement of the previous draft and the June status report.) Locus Solum: From the rules of logic to the logic of rules
Locus Solum: From the rules of logic to the logic of rules by Jean-Yves Girard, 2000.
The monograph below has been conceived as the project of giving reasonable foundations to logic, on the largest possible grounds, but not with the notorious reductionist connotation usually attached to "foundations". Locus Solum would like to be the common playground of logic, independent of systems, syntaxes, not to speak of ideologies. But wideness of scope is nothing here but the reward of sharpness of concern : I investigate the multiple aspects of a single artifact, the design. Designs are not that kind of syntax-versus-semantics whores that one can reshape according to the humour of the day : one cannot tamper with them, period. But what one can achieve with them, once their main properties —separation, associativity, stability— have been understood, is out of proportion with their seemingly banal definition.Sounds rather controversial, but can make an interesting reading if you believe logic is related to programming (your last name doesn't have to be either Curry or Howard). HOPL-III: The Evolution of LuaAnother entry for HOPL-III that is an interesting account of The Evolution of Lua by Roberto Ierusalimschy, Luiz Henrique de Figueiredo and Waldemar Celes. We report on the birth and evolution of Lua, and discuss how Lua moved from a simple configuration language to a versatile, widely used language that supports extensible semantics, anonymous functions, full lexical scoping, proper tail calls, and coroutines.The paper is timely for me, since I recently acquired the book "Programming in Lua V2" and am slowly trying to learn the language. It's hard not to like the model of language evolution taken by the Lua community. Lua has actively staked the ground of an embeddable scripting language, having simplicity and size as a major focus, and a very active two way street between embedded scripting language and host language C. The paper provides a good accounting of many of the design decisions made through the history of versions, though I would have liked a bit more mention of the decision to go with a register based VMs. Overall, I'd rate it as a very good read for those that are interested in PL design. Other papers from HOPL-III mentioned on LtU: Haskell and AppleScript. Interactive Haskell Documents
Think of a document containing code, comments, and examples, all presented in an aesthetically pleasing manner. The document is live, so you can make changes and see them immediately. This reminds me somewhat of the Lab system in J: interactive tutorials that allow the user to experiment after each new point is presented. Beauty in the Beast
Beauty in the Beast by Wouter Swierstra, Thorsten Altenkirch. 2006.
We provide a functional specification of three central components of Simon Peyton Jones’s awkward squad: teletype I/O, mutable state and concurrency. By constructing an internal model of such concepts within our programming language, we can reason about programs that perform I/O as if they were pure functions. One important application of our approach is accommodating I/O in a dependently typed programming language. By Andris Birkmanis at 2007-01-15 15:29 | Functional | Semantics | Type Theory | 1 comment | other blogs | 8415 reads
|
Browse archives
Active forum topics |
Recent comments
2 weeks 4 days ago
2 weeks 4 days ago
2 weeks 6 days ago
2 weeks 6 days ago
3 weeks 4 days ago
3 weeks 4 days ago
3 weeks 4 days ago
6 weeks 4 days ago
7 weeks 3 days ago
7 weeks 3 days ago